1. Technical Field
The present invention relates in general to a data processing system and, in particular, to a method and system for performance monitoring within a data processing system. Still more particularly, the present invention relates to a method and system for tracking the progress of instructions executed within a data processing system.
2. Description of the Related Art
Within a state-of-the-art processor, facilities are often provided that enable the processor to count occurrences of selected events and thereby obtain a quantitative description of the operation of a data processing system. These facilities are generally referred to as a performance monitor.
A conventional performance monitor includes at least one control register and one or more counters. The control register is typically comprised of a plurality of bit fields, which are set to specified values in order to select the events to be monitored and to specify the conditions under which the counters are enabled. Occurrences of the selected events can then be counted by the performance monitor counters.
Although a conventional performance monitor is useful for ascertaining information such as the frequency of occurrence of particular events and the average execution time of a particular class of instruction, the event counts provided by a conventional performance monitor do not give a comprehensive view of the effect of particular event occurrences upon instruction execution within the processor. In addition, it is frequently difficult to determine the cause of observed performance problems based only upon event counts.
Consequently, it would be desirable to provide an improved method and system for performance monitoring that supply additional information regarding the causes and effects of event occurrences within a data processing system. In particular, it would be desirable to provide an improved method and system for performance monitoring that track the progress of instruction execution within a data processing system.